package com.efast.cafe.portal.service.api;

import java.util.List;

import com.efast.cafe.portal.bean.api.PortalApiSystemBean;
import com.efast.cafe.portal.bean.api.PortalApiSytemQueryBean;

/**
 * <p>
 * Service接口
 * </p>
 * <p>
 * Table: portal_api_system - 所属系统定义
 * </p>
 *
 * @since 2017-08-08 11:45:57
 */
public interface IPortalApiSystemService {

	/**
	 * 新增apisystem
	 * 
	 * @Date : 2017年8月10日
	 * @param apiSystemBean
	 * @return
	 */
	public int insertApiSystem(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 修改系统信息
	 * 
	 * @param apiSystemBean
	 */
	public void updateApiSystem(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 删除系统
	 * 
	 * @param id
	 *            系统id
	 */
	public void deleteApiSystem(Integer id);

	/**
	 * 发布系统
	 * 
	 * @param portalApiServicePublishBean
	 * @return void
	 * @Author Administrator
	 * @Date 2017年8月14日
	 */
	public void publishApiSystem(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 升级系统
	 * 
	 * @param portalApiSystemBean
	 * @return void
	 * @Author Administrator
	 * @Date 2017年8月15日
	 */
	public void upgradeApiSystem(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 查询指定系统的所有版本信息
	 * 
	 * @param projectId
	 * @param systemId
	 * @return List<PortalApiSystemBean>
	 * @Author Administrator
	 * @Date 2017年8月22日
	 */
	public List<PortalApiSystemBean> queryApiSystemOtherVersions(Integer projectId, Integer systemId, Integer status);

	/**
	 * 判断系统版本是否存在
	 * 
	 * @param portalApiSystemBean
	 *            void
	 * @Author Administrator
	 * @Date 2017年8月22日
	 */
	public boolean apiSystemVersionIsExist(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 判断系统标识符是否存在
	 * @param portalApiSystemBean
	 * @return boolean
	 * @Author Administrator
	 * @Date 2017年9月1日
	 */
	public boolean apiSystemIndentifierIsExist(PortalApiSystemBean portalApiSystemBean);

	/**
	 * 查询项目下所有系统,只返回最新版本
	 * 
	 * @param qQueryBean
	 * @return PortalApiSytemQueryBean
	 * @Author Administrator
	 * @Date 2017年8月24日
	 */
	public PortalApiSytemQueryBean queryApiSystemList(PortalApiSytemQueryBean qQueryBean);

}